Regresar a la página principal

Enunciado

En un estudio sobre el tiempo de reacción bajo la influencia del alcohol, se piensa que la edad es otro factor que puede afectar el tiempo de reacción. Los sujetos de prueba (individuos) fueron clasificados dentro de tres grupos de edad: 20-39, 40-59, 60 y mas. En cada uno de los grupos de edad, cada tratamiento (0 oz., 1 oz., 2oz.) fue aleatoriamente asignado a 4 individuos y se obtuvieron los siguientes resultados. El tiempo de reacción es medido en segundos. (usar una significancia del 5%).

Edad Cantidad de Alcohol
0 oz. 1 oz. 2oz.
20 - 39 0.42 0.49 0.65
0.45 0.47 0.60
0.39 0.46 0.70
0.40 0.51 0.66
40 - 59 0.51 0.70 1.05
0.55 0.69 1.10
0.53 0.73 0.98
0.50 0.75 1.12
60 y más 0.60 0.85 1.25
0.59 0.79 1.20
0.58 0.88 1.30
0.61 0.90 1.27

Análisis

Para este experimento, un diseño experimental apropiado sería un diseño factorial \(3\times 3\). Esto implicaría que tenemos dos factores: la edad (con tres niveles: \(20-39\), \(40-59\), \(60\) y más) y la cantidad de alcohol (con tres niveles: \(0 oz.\), \(1 oz.\), \(2 oz.\)). Cada combinación de nivel de edad y nivel de cantidad de alcohol constituiría una condición experimental.

Con un diseño factorial \(3\times 3\), podemos investigar tanto los efectos principales de la edad y la cantidad de alcohol, como también la posible interacción entre ambos factores. Esto nos permitirá entender cómo influyen la edad y la cantidad de alcohol en el tiempo de reacción y si hay alguna relación compleja entre estos dos factores.

Además, dado que se asignaron aleatoriamente tratamientos a individuos dentro de cada grupo de edad, podemos controlar mejor la variabilidad y minimizar el sesgo en nuestra estimación de los efectos.

Carga de datos

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
alcohol <- read.csv("alcohol.csv")
alcohol
##      Edades  oz0  oz1  oz2
## 1   20 - 39 0.42 0.49 0.65
## 2   20 - 39 0.45 0.47 0.60
## 3   20 - 39 0.39 0.46 0.70
## 4   20 - 39 0.40 0.51 0.66
## 5   40 - 59 0.51 0.70 1.05
## 6   40 - 59 0.55 0.69 1.10
## 7   40 - 59 0.53 0.73 0.98
## 8   40 - 59 0.50 0.75 1.12
## 9  60 y mas 0.60 0.85 1.25
## 10 60 y mas 0.59 0.79 1.20
## 11 60 y mas 0.58 0.88 1.30
## 12 60 y mas 0.61 0.90 1.27

Usando pivot_longer para tabla larga

alcohol <- alcohol %>% pivot_longer(cols = oz0:oz2, names_to = "Alcohol",
                                  values_to = "Segundos")
alcohol
## # A tibble: 36 × 3
##    Edades  Alcohol Segundos
##    <chr>   <chr>      <dbl>
##  1 20 - 39 oz0         0.42
##  2 20 - 39 oz1         0.49
##  3 20 - 39 oz2         0.65
##  4 20 - 39 oz0         0.45
##  5 20 - 39 oz1         0.47
##  6 20 - 39 oz2         0.6 
##  7 20 - 39 oz0         0.39
##  8 20 - 39 oz1         0.46
##  9 20 - 39 oz2         0.7 
## 10 20 - 39 oz0         0.4 
## # ℹ 26 more rows

Análisis exploratorio de datos

alcohol$Edades <- as.factor(alcohol$Edades)
alcohol$Alcohol <- as.factor(alcohol$Alcohol)

# Resumen de los datos
str(alcohol)
## tibble [36 × 3] (S3: tbl_df/tbl/data.frame)
##  $ Edades  : Factor w/ 3 levels "20 - 39","40 - 59",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Alcohol : Factor w/ 3 levels "oz0","oz1","oz2": 1 2 3 1 2 3 1 2 3 1 ...
##  $ Segundos: num [1:36] 0.42 0.49 0.65 0.45 0.47 0.6 0.39 0.46 0.7 0.4 ...
summary(alcohol)
##       Edades   Alcohol     Segundos     
##  20 - 39 :12   oz0:12   Min.   :0.3900  
##  40 - 59 :12   oz1:12   1st Qu.:0.5100  
##  60 y mas:12   oz2:12   Median :0.6550  
##                         Mean   :0.7286  
##                         3rd Qu.:0.8850  
##                         Max.   :1.3000

Basándonos en el análisis exploratorio de los datos, podemos observar que el experimento incluye tres grupos de edad: 20-39, 40-59 y 60 y más, con 12 observaciones en cada grupo. Además, se administraron tres niveles de cantidad de alcohol: 0 oz., 1 oz. y 2 oz., nuevamente con 12 observaciones para cada nivel. En términos del tiempo de reacción medido en segundos, encontramos una variabilidad considerable en los datos, con una media de aproximadamente 0.7286 segundos. Los valores oscilan desde 0.39 segundos hasta 1.3 segundos, con un primer cuartil de 0.51 segundos y un tercer cuartil de 0.885 segundos.

Análisis del tiempo de reacción dependiendo de la edades

library(ggplot2)

# Definir colores personalizados
colores <- c("#FF6F61", "#6B5B95", "#88B04B")

# Crear el boxplot
bxp_edades <- alcohol %>% ggplot(aes(x = Edades, y = Segundos, fill = Edades)) +geom_boxplot(alpha = 0.7, color = "black") +  # Añadir transparencia y bordes
  scale_fill_manual(values = colores) +  # Asignar los colores definidos
  labs(x = "Edades (Años)", y = "Tiempo (segundos)",  # Etiquetas de los ejes
       title = "Distribución del Tiempo de Reacción por Edad") +  # Título
  theme_minimal() +  # Tema minimalista
  theme(  # Personalización del tema
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),  # Título
    axis.title = element_text(size = 14),  # Etiquetas de los ejes
   axis.text = element_text(size = 12),  # Texto de los ejes
   panel.grid.major = element_line(color = "gray", linetype = "dotted"),  # Líneas de cuadrícula
    panel.grid.minor = element_blank()  # Sin líneas de cuadrícula secundarias
  )

# Mostrar la gráfica
bxp_edades

El tiempo de reacción parece variar significativamente con la edad. Los individuos de 20 a 39 años muestran los tiempos de reacción más rápidos, seguidos por aquellos en el rango de 40 a 59 años. Sin embargo, se observa una disminución significativa en la capacidad de reacción en individuos mayores de 60 años, cuyos tiempos de respuesta son considerablemente más largos. Además, la variabilidad en los tiempos de reacción aumenta con la edad; mientras que en el grupo de 20 a 39 años los datos están más concentrados alrededor de la media, en el grupo de 40 a 59 años se observa un aumento en la dispersión de los datos. Esta tendencia se hace aún más pronunciada en individuos mayores de 60 años, donde la variabilidad en los tiempos de respuesta es aún mayor.

Análisis del tiempo de rección dependiendo de la cantidad de alcohol

# Definir colores personalizados
colores <- c("#FF6F61", "#6B5B95", "#88B04B")

bxp_alcohol <- alcohol %>% ggplot(aes(x = Alcohol, y = Segundos, fill = Alcohol)) +
  geom_boxplot(alpha = 0.7, color = "black") +  # Añadir transparencia y bordes
  scale_fill_manual(values = colores) +  # Asignar los colores definidos
  labs(x = "Cantidad alcohol (oz)", y = "Tiempo de reacción (s)",  # Etiquetas de los ejes
       title = "Tiempo de reacción dependiendo de la cantidad de alcohol") +  # Título
  theme_minimal() +  # Tema minimalista
  theme(  # Personalización del tema
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),  # Título
    axis.title = element_text(size = 14),  # Etiquetas de los ejes
   axis.text = element_text(size = 12),  # Texto de los ejes
   panel.grid.major = element_line(color = "gray", linetype = "dotted"),  # Líneas de cuadrícula
    panel.grid.minor = element_blank()  # Sin líneas de cuadrícula secundarias
  )


bxp_alcohol

Los datos revelan una clara relación entre la cantidad de alcohol ingerida y el tiempo de reacción. A medida que aumenta la concentración de alcohol, se observa un incremento en el tiempo de reacción. Además, el análisis por grupos de edad refuerza esta tendencia, mostrando que a medida que aumenta el grado de alcohol, se incrementa la pérdida en la capacidad de reacción, independientemente de la edad. Se destaca que los tiempos de reacción tienden a ser más largos en presencia de mayores cantidades de alcohol.

Análisis gráfico - Alcohol, edades, tiempo, gráfico en 3D

# Carga la librería plotly
library(plotly)
## 
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
# Define los datos
datos <- data.frame(
  Edades = c(rep("20 - 39", 4), rep("40 - 59", 4), rep("60 y mas", 4)),
  oz0 = c(0.42, 0.45, 0.39, 0.40, 0.51, 0.55, 0.53, 0.50, 0.60, 0.59, 0.58, 0.61),
  oz1 = c(0.49, 0.47, 0.46, 0.51, 0.70, 0.69, 0.73, 0.75, 0.85, 0.79, 0.88, 0.90),
  oz2 = c(0.65, 0.60, 0.70, 0.66, 1.05, 1.10, 0.98, 1.12, 1.25, 1.20, 1.30, 1.27)
)

# Crea la gráfica 3D con plotly
grafico <- plot_ly(datos, x = ~Edades, y = ~oz0, z = ~oz1, type = "scatter3d", mode = "markers",
                   marker = list(size = 5, opacity = 0.7, color = 'blue'),
                   name = "0 oz.") %>%
  add_trace(x = ~Edades, y = ~oz1, z = ~oz2, type = "scatter3d", mode = "markers",
            marker = list(size = 5, opacity = 0.7, color = 'green'),
            name = "1 oz.") %>%
  add_trace(x = ~Edades, y = ~oz2, z = ~oz0, type = "scatter3d", mode = "markers",
            marker = list(size = 5, opacity = 0.7, color = 'red'),
            name = "2 oz.") %>%
  layout(scene = list(xaxis = list(title = "Edades"),
                      yaxis = list(title = "0z", range = c(0, 2)),
                      zaxis = list(title = "t", range = c(0, 2))))


# Muestra la gráfica
grafico

El consumo de alcohol afecta todas las edades, principalmente las personas de mayor edad.

Modelo estadístico usando un DBCA

modelo1 <- aov(Segundos ~ Edades + Alcohol, data = alcohol)
summary(modelo1)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Edades       2 0.9166  0.4583   62.52 1.32e-11 ***
## Alcohol      2 1.4118  0.7059   96.31 5.00e-14 ***
## Residuals   31 0.2272  0.0073                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

El análisis de varianza (ANOVA) revela que tanto la edad como la cantidad de alcohol ejercen un efecto considerable en el tiempo de reacción, cómo lo anticipamos con el análisis exploratorio de los datos. Los valores significativos de \(p\) para ambas variables indican que hay diferencias significativas entre los grupos. La alta suma de cuadrados y los valores \(F\) resaltan la importancia de estos factores en la variabilidad observada en los tiempos de reacción. En conjunto, estos resultados subrayan la influencia significativa de la edad y la cantidad de alcohol en la capacidad de respuesta,

library(agricolae)
compara_edad <- duncan.test(modelo1, "Edades")
compara_edad$groups %>% rownames_to_column("Edades")
##     Edades  Segundos groups
## 1 60 y mas 0.9016667      a
## 2  40 - 59 0.7675000      b
## 3  20 - 39 0.5166667      c

Los resultados de la prueba de Duncan muestran que hay una diferencia significativa en los tiempos de reacción entre los grupos de diferentes edades. El grupo de personas de 60 años y más tiene significativamente más tiempo de reacción en comparación con el grupo de personas de 40 a 59 años, que a su vez tienen más tiempo de reacción que el grupo de personas de 20 a 39 años. Esto sugiere que el tiempo de reacción tiende a aumentar con la edad, lo que puede tener implicaciones importantes en diversas actividades que requieren un tiempo de respuesta rápida bajo la influencia del alcohol.

library(agricolae)
compara_Alc <- duncan.test(modelo1, "Alcohol")
compara_Alc$groups %>% rownames_to_column("Alcohol")
##   Alcohol  Segundos groups
## 1     oz2 0.9900000      a
## 2     oz1 0.6850000      b
## 3     oz0 0.5108333      c

Los resultados de la prueba de Duncan muestran que existe una diferencia significativa en los tiempos de reacción entre los diferentes niveles de consumo de alcohol. El grupo que consumió 2 oz tiene significativamente más tiempo de reacción en comparación con los grupos que consumieron 1 oz y 0 oz, que a su vez también difieren entre sí. Estos hallazgos sugieren que el aumento en la cantidad de alcohol está asociado con un incremento en el tiempo de reacción, lo que puede tener implicaciones importantes en términos de seguridad y desempeño cognitivo.